class GenericNumber<NumType> {
  defaultValue: NumType
  add: (x: NumType, y: NumType) => NumType
}
// 这种情况推荐 是明确指定<类型>
const myNum = new GenericNumber<number>()
myNum.defaultValue = 10

// -------------------------------------------
class GenericNumber2<NumType> {
  defaultValue: NumType
  add: (x: NumType, y: NumType) => NumType

  constructor(value: NumType) {
    this.defaultValue = value
  }
}

// 有构造函数方式可以省略写类型
const myNum2 = new GenericNumber2(100)
